The invention relates to a method and device for guiding the movement of a moving machine element of a numerically controlled machine, wherein a movement path of the machine element is broken up into successive movement sections, wherein a maximum possible path speed, a maximum possible acceleration and a maximum possible path jolt are defined by means of predefined restrictions on machine axles.
FIG. 1 illustrates, in the form of a block circuit diagram, a customarily used electrical drive system of a machine tool, of a production machine and/or of a robot. In the two-axle machine illustrated by way of example in FIG. 1, a controller 1 controls the two machine axles 6a and 6b of the machine. The machine axle 6a is composed here of a regulating system 2a, a converter 3a, a drive motor 4a and a mechanism 5a which is connected to the drive motor 4a. The machine axle 6b is composed of a regulating system 2b, a converter 3b, a drive motor 4b and a mechanism 5b which is connected to the drive motor 4b. The controller 1 predefines to the regulating system 2a and the regulating system 2b setpoint position values separately for each machine axle, said values corresponding to a predefined movement path of a machine element which can be moved by means of the machine axles 6a and 6b. The regulating system 2a or 2b regulates, by means of the converter 3a or 3b, the respectively associated motor position angle of the motor 4a or 4b in accordance with the setpoint values predefined by the controller so that the predefined movement path of the machine element is carried out using the mechanism 5a or 5b which is connected to the respective drive motor 4a or 4b. A machine element is to be understood here, for example during the processing operation, as both a tool, such as for example a milling head, and a workpiece.
FIG. 2 illustrates, by way of example, such a movement path S for the two-axle machine according to FIG. 1. Here, a machine element 8, embodied as a milling head, is guided on the movement path S. The machine axle 6a from FIG. 1 is responsible here for the displacement movement in the x direction, while the machine axle 6b is responsible for the displacement movement in the y direction.
The numerical controller 1 according to FIG. 1 processes, for this purpose, component programs which have been obtained, for example with a CAD/CAM system. The geometric data for, for example, the processing of a workpiece are stored in the controller 1. The object of the controller 1 is then to generate setpoint variables for the machine axles of the machine in such a way that the machine element 8 is guided on the desired movement path S. For this purpose, additional technological information, in particular knowledge of the properties of the machine, is necessary. These properties such as, for example, the maximum rotational speeds of the drives, the maximum possible acceleration of the drives and the maximum drive torques of the drive motors are stored in machine data and known to the controller 1. The guiding of the movement then has to be planned by the controller 1 in such a way that none of the abovementioned predefined restrictions (such as for example maximum possible acceleration of a drive) is infringed. The resulting movement profiles of the drive motors of the individual machine axles of the machine have to be realizable. For this purpose, the planning of the guidance of the movement uses, as is customary in the trade, the derivations of the path length s over time.
The principle planning of such guidance of a movement of a machine element is illustrated schematically in FIG. 3. In accordance with the predefined movement path S, with the path length s over which the machine element 8 travels, the path jolt  (=r(s)), which represents three times the derivative of the path length s over time and which is fed to the so-called three memory model (illustrated in FIG. 3) as an input variable, is calculated from the movement guidance. The path jolt  is the maximum time derivative in the integration chain which is formed from the integrators 9a, 9b and 9c. A path acceleration {umlaut over (s)} ({umlaut over (s)}=a(s)) is calculated from the path jolt , and by further integration a path speed {dot over (s)} ({dot over (s)}=v(s)) is calculated from the path acceleration {umlaut over (s)}, and by further integration the path length s is calculated from the path speed {dot over (s)}.
The associated motor position setpoint angle φMS, the associated motor setpoint angle speed {dot over (φ)}MS, the associated motor setpoint angle acceleration {umlaut over (φ)}MS and the associated motor setpoint angle jolt  can be calculated from the path length s, the path speed {dot over (s)}, the path acceleration {umlaut over (s)} and the path jolt  in accordance with the specific kinematic transformation, which is valid for the respective machine kinematics and is known to a person skilled in the art, for each motor of the machine which is involved in the movement. The respective motor position setpoint angle φMS forms the respective setpoint value for the respectively associated position control circuit of the relevant regulating system 2a or 2b according to FIG. 1 (an associated motor position setpoint angle φMS is transferred for each machine axle, i.e. the circuit illustrated in FIG. 3 exists separately for each machine axle of the machine). This is in order to ensure that the current position of the machine element (for example of a milling head or of some other tool or else of a workpiece) follows the predefined setpoint value.
By selectively predefining the input variable path jolt  it is possible to change all the other variables (path acceleration {umlaut over (s)}, path speed {dot over (s)} and path length s) from one state into another via suitable intermediate values by means of integration so that all the limits can be checked and complied with. The limits define a minimum time period of the processing operation. Conversely, this means that the guidance of the movement can be optimum in terms of time only if at least one variable reaches its possible maximum value each time. The restrictions which have to be taken into account in the guidance of the movement have a correspondence with the real machine. For example, the maximum rotational speeds of the drives together with transmission ratios and gradients of spindles of, for example, ball castor spindles, yield the maximum possible path speed as a limit.
By means of the predefined restrictions which are described above for the machine axles, according to the prior art the maximum possible path speed vlim(s), the maximum possible path acceleration alim(s) and the maximum possible path jolt rlim(s) for the predefined movement path S, which is broken up into successive movement sections for the purpose of determination, are determined for the predefined movement path S. This is prior art.
FIG. 4 shows the profiles of the maximum possible path speed vlim(s), of the maximum possible path acceleration alim(s) and of the maximum possible path jolt rlim(s) plotted against the path length s of the movement path S. The term maximum possible path acceleration alim(s) is understood here to mean both the maximum possible path acceleration alim(s) in the positive direction, i.e. for positive values of the path acceleration, and the maximum possible path acceleration alim(s) in the negative direction, i.e. for negative values of the path acceleration. The term maximum possible path jolt rlim(s) is understood here to mean both the maximum possible path jolt rlim(s) in the positive direction, i.e. for positive values of the path jolt, and the maximum possible path jolt rlim(s) in the negative direction, i.e. for negative values of the path jolt.
The guidance of the movement along the movement path S will now be configured within these predefined limits in such a way that said guidance is optimum with respect to time, i.e. is carried out with the highest possible path speed v(s). For this purpose, it is customary in the trade to guide the movement in such a way that the maximum possible path jolt rlim(s) is fully utilized. The jolt profile for the path jolt r(s) thus fluctuates within a movement section (in FIG. 4 the beginnings and ends of the movement sections are indicated by vertical dashed lines) to and fro between the two maximum values, wherein, in the prior art, it is necessary to comply with the additional condition that the path acceleration a(s) assumes a value of zero at the end of each path section. This is necessary since the solution which is found should be capable of being differentiated twice continuously over time so that the movement path S does not have any irregularities later. In this context, according to the prior art it is consciously accepted that the movement profile which is acquired in this way is not optimum with respect to time, i.e. that in particular the maximum possible path acceleration alim(s) and the maximum possible path speed vlim(s) are utilized only inadequately. Since the path length s itself is in turn a function of time t, in the mathematical sense the path speed v(s), the path acceleration a(s) and the path jolt r(s) constitute what are referred to as trajectories and the illustration according to FIG. 4 constitutes an illustration in the so-called phase plane.
German laid-open patent application DE 199 44 607 A1 discloses a method for controlling the speed of a numerically controlled machine tool or a robot for multiple sets.
The German patent application with file No. 103 219 70.6 discloses a method for guiding the movement of a moving machine element of a numerically controlled machine tool or production machine.